package code18_design.template;

public class SortUtil2 {
	/**
	 * 对象数组排序
	 * @param arr
	 */
	public static <T> void sort(T[] arr, MyComparator<T> mc) {
		for (int i = 1; i < arr.length; i++) {
			for (int j = 0; j < arr.length - i; j++) {
				// 讲比较规则交给调用者来实现
				int compare = mc.compare(arr[j], arr[j + 1]);
				// 如果 大于0 则进行交换
				if (compare > 0) {
					T temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
		}
	}
}
